package colecciones.tests;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

import colecciones.bloques.BloqueFn;
import colecciones.colecciones.MiColeccion;

public class MapTest {
	@Test
	public void testMap() {
		MiColeccion<Integer> miColeccion=new MiColeccion<Integer>();
		miColeccion.add(1).add(2).add(3);
		
		// En este test multiplicamos los elementos por 4
		MiColeccion<Integer> coleccionTransformada=miColeccion.map(new BloqueFn<Integer,Integer>() {
			@Override
			public Integer fn(Integer unElemento) {
				int unNro=(Integer) unElemento;
				return unNro * 4;
			}
		});
		assertEquals("El primer elemento debe ser 4", new Integer(4), coleccionTransformada.get(0));
		assertEquals("El segundo elemento debe ser 8", new Integer(8), coleccionTransformada.get(1));
		assertEquals("El tercer elemento debe ser 12", new Integer(12), coleccionTransformada.get(2));
	}
}
